package com.sina.interfaces.core.util;

/**
 * 字符串工具,包含一些有用但 org.springframework.util.StringUtils 中没有的方法
 * created  on 15/08/2017.
 */
public abstract class StringUtils extends org.springframework.util.StringUtils{

    private StringUtils(){

    }

    /**
     * 取一个长度最大为 max 的子串
     */
    public static String maxSubstring(String str, int max){
        return str.length() > max ? str.substring( 0,max - 1) : str;
    }

    public static String nullAsEmptyAndMaxSub(String str, int max){
        return  str == null ? "" : maxSubstring( str,max );
    }
    /**
     *
     *null 转换为 空串
     */
    public static String nullAsEmpty(String str){
        return str == null ? "" : str;
    }

    /**
     * 字符串是否为非空串
     * @see org.apache.commons.lang3.StringUtils#isNotBlank(CharSequence)
     */
    public static boolean isNotBlank(String str) {
        return org.apache.commons.lang3.StringUtils.isNotBlank(str);
    }

    /**
     * 字符串是否未空串
     * @see org.apache.commons.lang3.StringUtils#isBlank(CharSequence)
     */
    public static boolean isBlank(String str) {
        return org.apache.commons.lang3.StringUtils.isBlank(str);
    }

    /**
     * @see org.apache.commons.lang3.StringUtils#isAnyBlank(CharSequence...)
     */
    public static boolean isAnyBlank(String... strings) {
        return org.apache.commons.lang3.StringUtils.isAnyBlank(strings);
    }

    /**
     * 比较两个字符串是否相等
     * @see org.apache.commons.lang3.StringUtils#equals(CharSequence, CharSequence)
     */
    public static boolean equals(String str1, String str2) {
        return org.apache.commons.lang3.StringUtils.equals(str1, str2);
    }

    /**
     * 字符串是否是数字
     */
    public static boolean isNumeric(String s){
        return org.apache.commons.lang3.StringUtils.isNumeric(s);
    }

}
